Currently, a single programmable remote control device (e.g., herein referred to as a “universal remote control”) allows control of multiple devices. Typically, a user inputs information (e.g., brand and model number) about a device that will be controlled by the universal remote control. Given the information for the device, the universal remote control knows, from a preset database of known devices, how to communicate with the device. The devices to be controlled may comprise, for example, televisions, Blu-ray players, and sound systems.
Conventionally, the universal remote control provides a way to switch from one device to another, which allows a user to keep using the same universal remote control when using multiple devices. Some more sophisticated universal remote controls have a touch screen and allow users to create macro commands by remembering sequences of actions (e.g., turn on Blu-ray and television together) and associating a macro command to a button. However, all existing universal remote controls have specific behavior that is defined by the devices they are controlling.